← Tổng quan

SCR-20 · Chuẩn system states & notification — quy định, không phải lời khuyên

Áp cho mọi màn, mọi gói (Baseline). Form không bao giờ tự xóa input; mọi hành động phá hủy có Undo 8 giây.

EMPTY LẦN ĐẦU — 1 CTA DUY NHẤT
Chưa có học viên nào
Mời qua Zalo — các em tự điền thông tin.
EMPTY DO FILTER — PHÂN BIỆT RÕ
Quá hạn ✕ Lớp 5.0 ✕
Không có kết quả cho bộ lọc này
Dữ liệu vẫn còn — chỉ là bộ lọc đang hẹp.
LOADING — SKELETON ĐÚNG HÌNH DẠNG
>3 giây → thêm dòng trấn an "Vẫn đang tải — mạng hơi chậm". Không spinner toàn trang.
LỖI MẠNG/API — GIỮ NGUYÊN DỮ LIỆU
Chưa gửi được nhắc việc — Zalo đang gián đoạn. Hệ thống tự thử lại trong 5 phút, hoặc bấm Gửi lại ngay.
Lỗi = chuyện gì + vì sao + làm gì tiếp. Không bao giờ đổ lỗi user.
OFFLINE — BANNER + QUEUE
⚠ Mất kết nối — thao tác sẽ tự đồng bộ
↻ 2 thao tác chờ đồng bộđiểm danh · 1 bài nộp
Ranh giới: Baseline chỉ hứa "không mất thứ đang làm dở". "Làm việc offline" đúng nghĩa = add-on Mobile-offline (X02).
DESTRUCTIVE — UNDO 8S + GÕ TÊN
Đã xóa "Quiz Unit 4"
Xóa lớn (lớp, học viên) → modal gõ tên xác nhận:
NOTIFICATION PANEL — GOM THEO SỰ KIỆN GỐC, DEDUP LÀ SLO (<0,1%)
5 bài mới nộp — WT1 Line graph (gom 1 thông báo, không phải 5)10 phút trước · bấm vào thẳng queue chấm
Học bù hôm nay 17:00 — Trần Đức Minhrealtime — thuộc nhóm "việc khẩn"
Ngân sách thông báo (P8):
· Digest-first — gom theo ngày/tuần
· Realtime chỉ cho việc khẩn (quá hạn, học bù hôm nay)
· PH không bao giờ bị spam — tự chọn tần suất ngay lần đầu mở portal
· Mỗi notification deep-link vào đúng ngữ cảnh